/*
 * @lc app=leetcode.cn id=455 lang=typescript
 *
 * [455] 分发饼干
 * 1. 优先满足需求最小的一定最优 -- 需求小的 和 大的 都是一个名额
 * 2. 用可能最小的饼干 满足当前的这个人 一定最优 -- 浪费最小
 * 
 * 两个加在一起 -> 贪心
 */

// @lc code=start
function findContentChildren(g: number[], s: number[]): number {
    g.sort((a, b) => a - b)
    s.sort((a, b) => a - b)

    // console.log(g, s)

    let child = 0, cookie = 0;
    while (child < g.length && cookie < s.length) {
        if (g[child] <= s[cookie]) child ++;
        cookie ++;
    }
    return child;
};
// @lc code=end

console.log(
    // findContentChildren([1,2,3], [1,1]) // 1
    // findContentChildren([1,2], [1,2,3]) // 2
    findContentChildren([10,9,8,7], [5,6,7,8]) // 2
)